package controller;

import dtos.LeaveDTO;
import dtos.LeaveStatusDTO;
import dtos.LeaveTypeDTO;

import javax.ejb.Remote;
import java.util.List;

@Remote
public interface LeaveRemote {

    LeaveDTO getLeaveById(int id);

    List<LeaveDTO> getLeaveByUserId(int uid);

    List<LeaveTypeDTO> getLeaveTypes();

    LeaveDTO saveLeave(LeaveDTO leave);

    void deleteLeave(int id);

    LeaveStatusDTO getStatusForNew();

    List<LeaveDTO> getAllLeaves();

    void approveLeave(int id);

    void declineLeave(int id);

    void setUnprocessedLeave(int id);

    LeaveStatusDTO getLeaveStatusById(int id);

    LeaveTypeDTO getLeaveTypeById(int id);
}
